package com.dragon.modules.yuegou.client.wechat_mini.service;


import com.dragon.modules.yuegou.client.wechat_mini.request.TemplateAddRequest;
import com.dragon.modules.yuegou.client.wechat_mini.security.AccessTokenService;

import java.util.List;

/***
 * 小程序服务（多小程序版）
 */
public interface MiniMultiService {

	/**
	 * 接口调用凭证服务
	 * 
	 * @param name 小程序标识（可以自定义，也可以使用appid）
	 * @return tokenService
	 */
	AccessTokenService tokenService(String name);

	/**
	 * 认证服务
	 * 
	 * @param name 小程序标识（可以自定义，也可以使用appid）
	 * @return 认证服务
	 */
	AuthService auth(String name);

	/**
	 * 订阅消息服务
	 * 
	 * @param name 小程序标识（可以自定义，也可以使用appid）
	 * @return subscribeMessageService
	 */
	SubscribeMessageService subscribeMessage(String name);

	/**
	 * 微信小程序码服务
	 * 
	 * @param name 小程序标识（可以自定义，也可以使用appid）
	 * @return 微信小程序码服务
	 */
	WxaCodeService wxaCode(String name);

	/**
	 * 内容安全服务
	 * 
	 * @param name 小程序标识（可以自定义，也可以使用appid）
	 * @return 内容安全服务
	 */
	SecurityService security(String name);

	/**
	 * 配置模板<br>
	 * 调用此方法会统一所有小程序的订阅消息模板配置
	 * 
	 * @param templateConfig 订阅消息模板配置
	 */
	void configTemplate(List<TemplateAddRequest> templateConfig);

}
